home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 2 / LSD and 17bit Compendium Deluxe - Volume II.iso / a / prog / misc / xes120.lha / XES / Docs / XES.doc < prev    next >
Text File  |  1994-11-09  |  8KB  |  221 lines

  1.                          The XDME Excelsior Suite
  2.  
  3.                           v1.20 by Fergus Duniho
  4.  
  5.                       Copyright © 1994 Fergus Duniho
  6.  
  7.                                DESCRIPTION
  8.  
  9.         XES is the new name for XDMD, which stood for "XDME Macros by
  10. Duniho." I changed the name, because I want to encourage other people to
  11. contribute to it.  XES is the successor to DMD, which was released for the
  12. last time a couple years ago.  I recently released XDME v1.00, and I sent
  13. Aaron Digulla, the main author of XDME, a copy of XDMD v1.10.  XES picks up
  14. the version numbering from XDME.
  15.  
  16.         XES is an integrated suite of macros, menus, keymappings, programs,
  17. and ARexx scripts for XDME.  Most of XES's more commonly used features can
  18. be accessed from the menus.  Here is a list of some of XES's features.
  19. Read the HISTORY for more of its features.
  20.  
  21.        I.   Outlining
  22.  
  23.       II.   Localized major modes
  24.  
  25.            A.   Text mode
  26.  
  27.            B.   Two C modes, ANSI and K&R, complete with automatic line
  28.                 indentation.
  29.  
  30.            C.   A general programming mode for other languages.
  31.  
  32.            D.   An outline mode for writing outlines, like this one.
  33.  
  34.            E.   A proofs mode for writing logical proofs. (I'm a philosophy
  35.                 major.)
  36.  
  37.      III.   Automatic major mode selection upon loading.
  38.  
  39.       IV.   The maintenance of a "Windows" menu that keeps track of all of
  40.             XDME's windows.
  41.  
  42.        V.   Different styles of editing integrated with each other.
  43.  
  44.            A.   Cutting and copying for all block types.
  45.  
  46.            B.   Regions and rectangles, ala Emacs.
  47.  
  48.       VI.   XPK support, including automatic packing or encryption upon
  49.             saving, and decryption with a password requester.
  50.  
  51.      VII.   The maintenance of a personal diary, complete with password
  52.             encryption and decryption.
  53.  
  54.     VIII.   Spellchecking via the AlphaSpell program and its accompanying
  55.             dictionary.
  56.  
  57.       IX.   Automatic pagination via the Paginate program.
  58.  
  59.        X.   Various find and replace routines, including a Find requester
  60.             and a Replace requester.  The Replace requester lets you
  61.             replace the word at the cursor, every occurance of the find
  62.             string in the text, or every occurance in a block.
  63.  
  64.       XI.   Various Emacs like keymappings.
  65.  
  66.      XII.   Sundry other features.
  67.  
  68.                                INSTALLATION
  69.  
  70.         To install XES, click on the install icon.  This will copy files to
  71. your S:, REXX:, and C: drawers.  If you don't want something overwritten,
  72. such as your current .edrc file, back it up first.
  73.  
  74.         Copy the dictionary to your harddrive, to a high density disk, or
  75. to a double sided diskspare disk.  It is too large for a normal Amiga
  76. double sided disk.  Change the value of $Dict in ".edrc" and the values of
  77. path and name in "Diary.xdme" to suit your own needs.
  78.  
  79.         To make full use of all its features, you will need some programs
  80. and libraries that I haven't included with XDMD. These include "xpack,"
  81. "RexxArpLibrary.library," "arp.library," "rexxreqtools.library,"
  82. "xpkmaster.library," various xpk compressor libraries, "rexxmast," and
  83. "move."
  84.  
  85.                                  HISTORY
  86.  
  87.        I. 29 October 1994 - XDMD v1.00 released.
  88.  
  89.       II. 1 November 1994 - XDMD v1.10
  90.  
  91.            A.   By taking a short detour through ARexx, I implemented
  92.                 arrays in XDME.  The macros "set-array," "get-array,"
  93.                 "free-array," "unset-array," and "unset-member" all work
  94.                 with arrays.  The ARexx script LoadArray loads a file into
  95.                 an array.
  96.  
  97.            B.   I used the array capability to redo how spell-checking
  98.                 works in XDME.  Instead of using a requester, it uses
  99.                 LoadArray to put the list of unfound words into an array.
  100.                 It then redefines some keys on the numeric keypad.
  101.  
  102.                1.   nk1 goes to the last word in the array.
  103.  
  104.                2.   nk7 goes to the first word in the array.
  105.  
  106.                3.   nk+ moves forward through the array.
  107.  
  108.                4.   nk- moves backwards through the array.
  109.  
  110.                5.   nk2, nk4, nk6, and nk8 work as cursor keys.
  111.  
  112.                6.   nk3 and nk9 search forwards and backwards for the find
  113.                     string, which gets set to the current word in the array
  114.                     whenever you move through the array.
  115.  
  116.                7.   nk( puts the numeric keypad back in number mode.
  117.  
  118.            C.   Yesterday, before I figured out how to implement arrays, I
  119.                 did some new spell-checking routines with twin variable
  120.                 stacks.  I left the code in .edrc for anyone interested in
  121.                 looking at it.
  122.  
  123.                1.   I added the "empty-stack" macro, because "purgevar"
  124.                     doesn't work.
  125.  
  126.            D.   I fixed some bugs in s-bs and s-del.  I added a-d, which
  127.                 works like M-d in Emacs.
  128.  
  129.                1.   I added the "delstr" macro.
  130.  
  131.            E.   I reset toggle 0 and set toggle 1, so that I can use
  132.                 variables as flags with "if," "ifelse," and "while."
  133.  
  134.            F.   I added some numeric keypad modes.
  135.  
  136.                1.   "keypad-numbers" - your ordinary numeric keypad
  137.  
  138.                2.   "keypad-move" - the cursor movements written on the
  139.                     front.  nk5 recenters the screen.
  140.  
  141.                3.   "keypad-spell" - the mode for spell checking, which I
  142.                     described earlier.
  143.  
  144.      III.   9 November 1994 - XES v1.20
  145.  
  146.            A.   Overhauled the menus.
  147.  
  148.                1.   Checkmarks indicate whether different settings are set.
  149.                     These get updated for whichever window you are in if
  150.                     you change windows with the menu.
  151.  
  152.                2.   Amiga key symbols have replaced "A-"s.
  153.  
  154.                3.   The menus have been rearranged somewhat.
  155.  
  156.            B.   New macros:
  157.  
  158.                1.   "Intcmp" macro compares two numbers.  With its help,
  159.                     nk+ and nk- never take you out of bounds when
  160.                     spell-checking.
  161.  
  162.                2.   "Prev2" macro serches backwards for the closest of
  163.                     two different strings.
  164.  
  165.                3.   "Prevf" macro searches backwards for a string, and it
  166.                     sets a flag if the search fails.
  167.  
  168.                4.   "Pos" takes a column and line number as arguments and
  169.                     goes there.
  170.  
  171.                5.   "Pos-line" indents the current line n columns from
  172.                     the left.
  173.  
  174.                6.   "Text-format" formats a paragraph according to values
  175.                     stored in $indcol and $parcol.  $Indcol indicates how
  176.                     much the first line of a paragraph should be indented.
  177.                     The outlining macros set these values and use
  178.                     text-format.
  179.  
  180.                    i.   "Setindcol" sets the value of $indcol.
  181.  
  182.            C.   New major modes:
  183.  
  184.                1.   Fundamental - What used to be called "Programming."
  185.  
  186.                2.   Programming - The tab key indents code in a general way
  187.                     that is helpful for programming in any language.  Use a
  188.                     more specific mode if one is available for the language
  189.                     you are programming in.
  190.  
  191.                3.   ARexx - The tab key properly indents ARexx code so long
  192.                     as the strings "do" and "select" are not parts of
  193.                     longer strings in the code.
  194.  
  195.                4.   Manual - For writing manuals.
  196.  
  197.            D.   Miscellaneous changes here and there.
  198.  
  199.                                 COPYRIGHT
  200.  
  201.         The dictionary is public domain.  Everything else in the archive is
  202. copyright © 1994 by Fergus Duniho.  XES is freeware.
  203.  
  204.                              DISTRIBUTABILITY
  205.  
  206.         You may freely distribute this archive so long as you leave it
  207. unchanged and make no profit from its distribution.  Sale of XDMD is
  208. strictly prohibited.
  209.  
  210.                                 DISCLAIMER
  211.  
  212.         There is no guarantee that XDMD will do anything you want it to.  I
  213. am not responsible for any damage that might result from using XDMD.  You
  214. use it entirely at your own risk.
  215.  
  216.                              ABOUT THE AUTHOR
  217.  
  218.         I am Fergus Duniho.  I am also the author of the DDLI, a
  219. computerized personality indicator.  Get ddli341.lha from the aminet and
  220. try it out.
  221.